package mx.itesm.escenas;

import org.andengine.engine.handler.timer.ITimerCallback;
import org.andengine.engine.handler.timer.TimerHandler;

import mx.itesm.constants.ConstantesEscenas;
import mx.itesm.manejadores.ManejadorEscenas;


public class EscenaAbout extends EscenaBase {

	/*
	 * **************************************************************
	 *                                         Variables
	 * **************************************************************
	 */

	private static final int ORIGEN = ConstantesEscenas.ORIGEN;

	/*
	 * **************************************************************
	 *                                         Metodos
	 * **************************************************************
	 */

	@Override
	public void crearEscena() {
		attachChild(createSprite(ORIGEN, ORIGEN, manejadorRecursos.aboutRegion,
				mVerticesObjetos));
	}

	@Override
	public TipoEscena getTipoEscena() {
		return TipoEscena.ESCENA_ABOUT;
	}

	@Override
	public void removerEscena() {
		this.detachSelf();
		this.dispose();
	}
	
	@Override
	public void onBackKeyPressed() {

		ManejadorEscenas.getInstance().cargarEscenaLoading();
		ManejadorEscenas.getInstance().setEscena(TipoEscena.ESCENA_CARGAR);
		ManejadorEscenas.getInstance().descargarEscenaAbout();
		
		engine.registerUpdateHandler(new TimerHandler(0.2f, new ITimerCallback() {

			@Override
			public void onTimePassed(final TimerHandler pTimerHandler) {

				engine.unregisterUpdateHandler(pTimerHandler);
				ManejadorEscenas.getInstance().cargarEscenaMenu();
				ManejadorEscenas.getInstance().setEscena(TipoEscena.ESCENA_MENU);
			}
		}));
	}
}
